November 2019
FFV1 can store field-order information independent of its container.
aka “picture structure” (IETF specs)
“A randomly generated unique ID to identify the Segment amongst many others (128 bits).”
[Segment:] “The Root Element that contains all other Top-Level Elements (Elements defined only at Level 1). A Matroska file is composed of 1 Segment.”
“Contains the Segment Position of other Top-Level Elements.”
It can be used to uniquely identify this MKV file and is part of the “MetaSeek” section.
“The Metaseek section contains an index of where all of the other groups are in the file are located […].”
“This element isn’t technicaly required, but you would have to search the entire file to find all of the other Level 1 elements if you did not have it.
This is because any of the items can occur in any order."
CRC-32 per Element.
The magic’s inside EBML.
-color_range mpeg
-color_primaries bt470bg
-color_trc bt709
-colorspace bt470bg
Source: “mkvpropedit -l”, vrecord
aka “Descriptive Metadata”.
“[…] contains all of the Tags that relate to the the file and each of the tracks. These tags are just like the ID3 tags found in MP3’s.”
“The Attachment section is for attaching any type of file you want to a Matroska file. You could attach anything, pictures, webpages, programs, even the codec needed to play back the file.”
ffmpeg -i VIDEO_IN \
-c:v ffv1 -level 3 -coder 1 -context 0 -slices 24 -slicecrc 1 \
-color_primaries bt470bg \
-color_trc bt709 \
-colorspace bt470bg \
-color_range mpeg \
-map 0 \
-top 1 \
-c:a copy \
-g 1 -pix_fmt + \
VIDEO_OUT.mkv